package org.wotou.authority.system.quartz;

import org.apache.log4j.Logger;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.wotou.authority.domain.scheduleJobDO;

/**
 * 若一个方法一次执行不完下次轮转时则等待改方法执行完后才执行下一次操作
 *
 * @author zhangQ
 * @date 2017/12/6
 */
@DisallowConcurrentExecution
public class QuartzJobFactoryDisallowConcurrentExecution implements Job {
    public final Logger log = Logger.getLogger(this.getClass());

    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        scheduleJobDO scheduleJob = (scheduleJobDO) jobExecutionContext.getMergedJobDataMap().get("scheduleJob");
        ScheduleTask.invokMethod(scheduleJob);
    }
}
